#define _CRT_SECURE_NO_WARNINGS 1
#include"BinarySearchTree.h"
using namespace std;

int main()
{
	key::BSTree<int> t0;
	key::BSTree<int> t;

	int a[] = { 2,1,4,2,3,7,5,4,7,6,8 };
	//for (auto e : a)
	//{
	//	t.Insert(e);
	//}
	//t.Inorder();
	//std::cout << std::endl;
	//t.Erase(4);
	//t.Erase(5);
	//t.Erase(6);
	//t.Inorder();
	//std::cout << std::endl;
	//cout << t.Find(1) << endl;
	//cout << t.Find(7) << endl;
	for (auto e : a)
	{
		t0.InsertR(e);
	}	
	t.Insert(1);
	t = t0;
	t.Inorder();
	key::BSTree<int> t1(t);
	t1.Inorder();

	/*std::cout << std::endl;
	t.EraseR(4);
	t.EraseR(5);
	t.EraseR(6);
	t.Inorder();
	std::cout << std::endl;
	cout << t.FindR(1) << endl;
	cout << t.FindR(7) << endl;*/
	key_value::BSTree<string, int> kv1;
	kv1.Insert("zhangsan", 19);
	kv1.Insert("lisi", 20);
	kv1.Insert("wangwu", 21);
	kv1.Insert("liliu", 22);
	kv1.Inorder();
	return 0;
}
/*
			2                 
		1        4 
		     3       7
			      5     8
				    6

			2
		1        3
			         7
				  5     8
					6

			2
		1        3
					 7
				       8
					
*/